网络编程介绍
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
网络编程可以使多个设备(计算机)上的程序通过网络连接实现程序间的互相通讯。
在J2SE的java.net包中我们可以找到实现底层通讯的类和接口,通过这些类和接口你可以在不清楚底层处理细节的情况下实现网络编程,这样我们就可以将精力更多的投入到解决具体的实际问题(应用逻辑)当中。
下图中的网络系统由客户端、服务器和网络三部分组成,这里我们把发送请求处理的设备称之为客户端,而提供服务的设备称之为服务器,对于实现彼此之间通讯的介质可以是有线或无限的网络。
java.net包中提供了两种常见的网络协议的支持:
- TCP: TCP(Transmission Control Protocol)TCP是一种面向连接的协议,它为两个电脑之间的数据传输提供了可靠的保障。常见的应用包括:HTTP, FTP和Telnet。
- UDP: UDP(User Datagram Protocol)UDP则允许两个电脑之间发送独立的数据包,这种方式并不能确保数据是否可达及数据包到达的次序。常见的应用包括:ping命令。
TCP和UDP协议均采用端口映射的方式将接收的数据包映射到该服务器的指定进程,这里的端口是一个整数值(16-bit),常见的系统保留端口如下:
- ftp 21/tcp
- telnet 23/tcp
- smtp 25/tcp
- http 80/tcp,udp
- https 443/tcp,udp
因此用户使用的端口号通常要大于1024。
在线练习
{$ activeFileHint $}